package com.free.framework.mvp;

import android.support.annotation.UiThread;

import rx.Observable;
import rx.Subscriber;

public interface IMvpPresenter<V extends IMvpView> {


    @UiThread
    void attachView(V view);

    @UiThread
    void detachView(boolean retainInstance);

    @UiThread
    void subscribeNetwork(Observable observable, Subscriber subscriber);


    @UiThread
    void subscribeNetwork(Observable observable, Subscriber subscriber, Observable.Transformer transformer);


    @UiThread
    void resume();

    @UiThread
    void pause();

    @UiThread
    void destroy();

}
